import request from './request';

/**
 * 获取订单列表（带分页和搜索）
 * @param {Object} params 包含关键词、状态、页码和每页数量的对象
 * @returns {Promise}
 */
export function getOrderList(params) {
  return request({
    url: '/api/order/list',
    method: 'get',
    params
  });
}

/**
 * 获取订单详情
 * @param {string} id 订单ID
 * @returns {Promise}
 */
export function getOrderDetail(id) {
  return request({
    url: `/api/order/detail/${id}`,
    method: 'get'
  });
}

/**
 * 创建订单
 * @param {Object} data 订单数据
 * @returns {Promise}
 */
export function createOrder(data) {
  return request({
    url: '/api/order/create',
    method: 'post',
    data
  });
}

/**
 * 处理订单退款
 * @param {Object} data 退款信息
 * @returns {Promise}
 */
export function processRefund(data) {
  return request({
    url: '/api/order/refund',
    method: 'post',
    data
  });
}

/**
 * 获取订单统计数据
 * @param {Object} params 统计参数
 * @returns {Promise}
 */
export function getOrderStats(params) {
  return request({
    url: '/api/order/stats',
    method: 'get',
    params
  });
}

/**
 * 导出订单数据
 * @param {Object} params 导出参数
 * @returns {Promise}
 */
export function exportOrders(params) {
  return request({
    url: '/api/order/export',
    method: 'get',
    params,
    responseType: 'blob' // 设置响应类型为blob
  });
}

/**
 * 获取近期订单趋势
 * @param {number} days 天数
 * @returns {Promise}
 */
export function getOrderTrend(days) {
  return request({
    url: '/api/order/trend',
    method: 'get',
    params: { days }
  });
}

/**
 * 取消订单
 * @param {string} id 订单ID
 * @returns {Promise}
 */
export function cancelOrder(id) {
  return request({
    url: `/api/order/cancel/${id}`,
    method: 'post'
  });
}

/**
 * 评价骑手
 * @param {Object} data 评价数据（包含orderId, riderId, rating, comment等）
 * @returns {Promise}
 */
export function rateRider(data) {
  return request({
    url: '/api/user/order/rate-rider',
    method: 'post',
    params: data
  });
} 